Using Test Oracles and Formal Specifications with Test-Driven Development
نویسندگان
چکیده
This paper illustrates how Test Oracles and Formal Speci ̄cations, with appropriate tool support, can be used with Test-Driven Development (TDD). In TDD, the test code is a formal documentation of the required behavior of the component or system that is being developed, but this documentation is necessarily incomplete and often over-speci ̄c. We describe an alternative approach to TDD that is to develop the speci ̄cation of the required behavior in a formal notation as a part of the TDD process and to generate test oracles from that speci ̄cation. We present the results of using this approach to develop programs used in a project at the Faculty of Engineering and Applied Science at Memorial University.
منابع مشابه
Test-Driven Development with Oracles and Formal Specifications
The current industry trend to using Test Driven Development (TDD) is a recognition of the high value of creating executable tests as part of the development process. In TDD, the test code is a formal documentation of the required behaviour of the component or system being developed, but this documentation is necessarily incomplete and often over-specific. An alternative approach to TDD is to de...
متن کاملTool Support for Test-Driven Development Using Formal Specifications
This paper describes how Test-Driven Development (TDD) can be conducted using formal specifications with appropriate tool support. In TDD, the test code is a formal documentation of the required behaviour of the component or system that is being developed, but this documentation is necessarily incomplete and often over-specific. We propose an alternative approach to TDD that is to develop the s...
متن کاملA Simple and Practical Approach to Unit Testing: The JML and JUnit Way
Writing unit test code is labor-intensive, hence it is often not done as an integral part of programming. However, unit testing is a practical approach to increasing the correctness and quality of software; for example, the Extreme Programming approach relies on frequent unit testing. In this paper we present a new approach that makes writing unit tests easier. It uses a formal specification la...
متن کاملContract Specification of Pipelined Designs: Application to Testbench Automation
In this paper we introduce a novel approach to formal specification of pipelined designs. The approach is based on contract specifications of pipe stages extended by a mechanism of temporal binding. Contract specifications describe the pipeline behavior in the form of preconditions and postconditions of pipe stages, while temporal binding combines specifications of separated stages into a co-op...
متن کاملCombining Formal Specifications with Test Driven Development
In the context of test driven development, tests specify the behavior of a program before the code that implements it, is actually written. In addition, they are used as main source of documentation in XP projects, together with the program code. However, tests alone describe the properties of a program only in terms of examples and thus are not sufficient to completely describe the behavior of...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- International Journal of Software Engineering and Knowledge Engineering
دوره 23 شماره
صفحات -
تاریخ انتشار 2013